package org.jeecg.modules.monitoring.j_monitoring.scheduler;


import org.jeecg.modules.monitoring.j_monitoring.facilities.FacilitiesToken;
import org.jeecg.modules.monitoring.j_monitoring.service.IGatewayWarningHistoryService;
import org.jeecg.modules.monitoring.j_monitoring.service.impl.EquipmentDataServiceImpl;
import org.jeecg.modules.monitoring.j_monitoring.service.impl.GatewaySystemFdnServiceImpl;
import org.jeecg.modules.monitoring.j_monitoring.service.impl.GatewayWarningServiceImpl;
import org.jeecg.modules.monitoring.j_monitoring.service.impl.RingMonitorServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * 动环定时任务
 */
@Component
public class FacilitiesTiming {

    private static Logger logger = LoggerFactory.getLogger(FacilitiesTiming.class);

    /*字段　　允许值　　允许的特殊字符
    秒     　 0-59 　　　　, - * /
    分     　 0-59　　　　 , - * /
    小时      0-23 　　　　, - * /
    日期      1-31 　　　　, - * ? / L W C
    月份      1-12 　　　　, - * /
    星期      1-7 　　　　  , - * ? / L C #
    年     1970-2099 　　, - * /
    ::::"*"：字符在分钟的字段域里表示“每分钟” “?”：字符只在日期域和星期域中使用。它被用来指定“非明确的值”。
    */
    @Autowired
    private FacilitiesToken facilitiesToken;

    @Autowired
    private Environment env;




//    //5秒保持一次动环token有效
//    @Scheduled(cron = "0/5 * * * * ?")
//    public void heartToken(){
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("heartToken");
////        facilitiesToken.heartToken();
//    }
//
//    /**
//     * 同步空间
//     */
//    @Scheduled(cron = "0 0 0 * * ?")
//    public void syncSpace(){
//        //同步空间
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("syncSpace");
//        facilitiesToken.syncSpace();
//    }
//
//
//
//    /**
//     * 同步设备
//     */
//    @Scheduled(cron = "0 0 0/2 * * ?")
//    public void syncDevice(){
//        System.out.println("同步动环设备");
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("syncDevice");
//        facilitiesToken.syncDevice();
//    }
//
//    /**
//     * 同步监控点
//     */
//    @Scheduled(cron = "0 0 0 * * ?")
//    public void syncMonitor(){
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("同步动环监控点");
//        facilitiesToken.syncMonitor();
//    }
//
//    /**
//     * 同步动环预警
//     */
//    @Scheduled(cron = "0 0/30 * * * ?")
//    public void syncWarning(){
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("同步预警");
//        facilitiesToken.syncWarning();
//    }
//
//
//    @Scheduled(cron = "0 0/15 * * * ?")
//    public void saveTemLog(){
//        if(!"prod".equals(env.getProperty("spring.profiles.active"))){
//            return;
//        }
//        System.out.println("记录三个机房温湿度");
//        facilitiesToken.saveTemLog();
//    }

}
